home *** CD-ROM | disk | FTP | other *** search
- \include texinfo.tex @c -*- texinfo -*-
-
- @setfilename makeinfo.info
-
- @node Top, Top, Top, (DIR)
- @chapter What is Makeinfo?
-
- Makeinfo is a program for converting @dfn{texinfo} files into @dfn{info}
- files. Texinfo is a documentation language which allows a printed manual
- and online documentation (an info file) to be produced from a single source
- file.
-
- This text does not explain how to write a texinfo file. In order to
- usefully use this documentation, you should be familiar with the texinfo
- documentation language, and you should have used an info file reader to
- read some info files. A good place to start is with @code{info}, a program
- for reading online documentation. Just type @code{info} to get started.
- Documentation on the texinfo language is available in the node Texinfo.
- Type @code{info texinfo} to read it.
-
- @menu
- * Formatting Control:: Controlling the appearance of the output file.
- * Options:: Command line options.
- * Validation:: What makes a `valid' info file.
- * Node Defaulting:: How Makeinfo can fill in the node fields for you.
- @end menu
-
- @node Formatting Control
- @section Controlling Paragraph Formats
-
- In general, Makeinfo @dfn{fills} the paragraphs that it outputs to the info
- file. Filling is the process of breaking up and connecting lines such that
- the output is nearly justified. With Makeinfo, you can control:
-
- @itemize @bullet
- @item
- The width of the paragraph (the @dfn{fill-column}).
- @item
- The amount of indentation that the first line of the paragraph gets.
- @end itemize
-
-
- @node Options
- @section Command Line Options
-
- The following command line options are available for Makeinfo.
-
- @table @code
- @item -no-validate
- Suppress the validation phase of Makeinfo. Normally, after the file is
- processed, some consistency checks are made to ensure that cross references
- can be resolved, etc. @xref{Validation}.
-
- @item -no-warn
- Suppress the output of warning messages. This does @emph{not} suppress the
- output of error messages, simply warnings. You might want this if the file
- you are creating has texinfo examples in it, and the nodes that are
- referenced don't actually exist.
-
- @item -no-split
- Suppress the splitting stage of Makeinfo. In general, large output files
- (where the size is greater than 70k bytes) are split into smaller subfiles,
- each one apporximately 50k bytes. By specifying @code{-no-split}, Makeinfo
- will not split up the output file.
-
- @item -verbose
- Causes Makeinfo to inform you as to what it is doing. Normally Makeinfo
- only output text if there are errors or warnings.
-
- @item -version
- Prints outs the version number of Makeinfo.
-
- @item -paragraph-indent @var{num}
- Sets the paragraph indentation to @var{num}. The value of @var{num} is
- interpreted as follows:
-
- @itemize @bullet
- @item
- A value of 0 means don't change the existing indentation at the starts of
- paragraphs.
- @item
- A value less than zero means indent paragraph starts to column zero by
- deleting the existing indentation.
- @item
- A value greater than zero is the number of spaces to leave at the front of
- each paragraph start.
- @end itemize
-
- @item -fill-column @var{num}
- Specifies the maximum right-hand edge of a line. Paragraphs that are
- filled will be filled to this width. The default value for fill-column is
- 72.
-
- @item -error-limit @var{num}
- Sets the maximum number of errors that Makeinfo will print before exiting
- (on the assumption that continuing would be useless). The default number
- of errors that can be printed before Makeinfo gives up on processing the
- input file is 100.
-
- @item -footnote-style @var{style}
-
- Sets the footnote style to @var{style}. @var{style} should either be `MN'
- for `make node', or `BN' for `bottom node'. When the footnote style is
- `MN', Makeinfo makes a new node containing the footnotes found in the
- current node. When the footnote style is `BN', Makeinfo places the
- footnote references at the bottom of the current node.
-
- @end table
-
- @node Validation
- @section What makes a valid Info file?
-
- If you have not suppressed validation (with the @code{-no-validate}
- option), Makeinfo will check the validity of the final info file. Mostly,
- this means ensuring that nodes you have referenced really exist. Here is a
- complete list of what is checked:
-
- @enumerate
- @item
- If a node reference such as Prev, Next or Up is a reference to a node in
- this file (i.e., not an external reference such as `(DIR)'), then the
- referenced node must exist.
-
- @item
- In a given node, if the node referenced by the Prev is different than the
- node referenced by the Up, then the node referenced by the Prev must have a
- Next which references this node.
-
- @item
- Every node excepting @code{Top} must have an Up field.
-
- @item
- The node referenced by Up must contain a reference to this node, other than
- a Next reference. Obviously, this includes menu items and followed
- references.
-
- @item
- If the Next reference is not the same as the Next reference of the Up
- reference, then the node referenced by Next must have a Prev reference
- pointing back at this node. This rule still allows the last node in a
- section to point to the first node of the next chapter.
-
- @end enumerate
-
- @node Node Defaulting
- @section Defaulting the @code{Prev}, @code{Next}, and @code{Up}
-
- Although the definition of an info file allows a great deal of flexibility,
- there are some conventions that you are urged to follow. By letting
- Makeinfo default the Next, Prev, and Up pointers you can follow these
- conventions with the minimum of effort.
-
- A common error ocurrs when adding a new node to a menu; often the nodes
- which are referenced in the menu do not point to each other in the same
- order as they appear in the menu.
-
- Makeinfo helps with this particular problem by defaulting Next, Prev, and
- Up pointers in a @code{@@node} command if you leave off these pointers in
- the command.
-
- The node to receive the defaulted pointers must be followed immediately by
- a sectioning command, such as @code{@@chapter} or @code{@@section}, and
- must appear in a menu that is one sectioning level or more above the
- sectioning level that this node is to have.
-
- Here is an example of using this feature.
-
- @example
- @@setfilename default-nodes-example.info
- @@node Top
- @@chapter Introduction
- @@menu
- * foo:: the foo node
- * bar:: the bar node
- @@end menu
-
- @@node foo
- @@section foo
- this is the foo node.
-
- @@node bar
- @@section Bar
- This is the Bar node.
- @@bye
-
- @end example
-
- produces
-
- @example
- Info file default-nodes-example.info, produced by Makeinfo, -*- Text -*-
- from input file default-nodes.texinfo.
-
- File: default-nodes-example.info, Node: Top
-
- Introduction
- ************
-
- * Menu:
-
- * foo:: the foo node
- * bar:: the bar node
-
- File: default-nodes-example.info, Node: foo, Next: bar, Up: Top
-
- foo
- ===
-
- this is the foo node.
-
- File: default-nodes-example.info, Node: bar, Prev: foo, Up: Top
-
- Bar
- ===
-
- This is the Bar node.
-
- @end example
- @bye
-